package com.clyme.expediente.servicios;

import com.clyme.expediente.dao.LineaDao;
import com.clyme.expediente.daoImpl.LineaDaoImpl;
import com.clyme.expediente.entidad.LineaTrabajo;
import com.clyme.expediente.hibernate.HibernateConexion;
import com.clyme.expediente.utilitarios.IConexion;
import com.clyme.expediente.utilitarios.Utilitario;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Luis Alonso Ballena Garcia
 */
public class LineaServicios {
    IConexion conexion;
    LineaDao<LineaTrabajo> daoLinea;

    public LineaServicios() {
        conexion = new HibernateConexion();
        daoLinea = new LineaDaoImpl(conexion);
    }
    
    public LineaTrabajo obtenerLinea(Integer id)
    {
        conexion.beginConexion();
        LineaTrabajo linea = daoLinea.buscarPorId(LineaTrabajo.class, id);
        conexion.closeConexion();
        return linea;
    }
    
    public void registrarLinea(LineaTrabajo linea)
    {
        linea.setHabilitado(Short.valueOf("1"));
        conexion.beginTransaccion();
        daoLinea.agregar(linea);
        conexion.closeTransaccion();
        Utilitario.enviarMensajeGlobalValido("Se ha registrado correctamente");
    }
    
    public void actualizarLinea(LineaTrabajo linea)
    {
        conexion.beginTransaccion();
        daoLinea.actualizar(linea);
        conexion.closeTransaccion();
        Utilitario.enviarMensajeGlobalValido("Se ha actualizado correctamente");
    }
    
    public void eliminarLinea(LineaTrabajo linea)
    {
        conexion.beginTransaccion();
        linea.setHabilitado(Short.valueOf("0"));
        daoLinea.actualizar(linea);
        conexion.closeTransaccion();
        Utilitario.enviarMensajeGlobalValido("Se ha eliminado correctamente");
    }
    
    public List<LineaTrabajo> obtenerTodos()
    {
        List<LineaTrabajo> lineas = new ArrayList<LineaTrabajo>();
        conexion.beginConexion();
        lineas = daoLinea.obtenerTodosActivos(LineaTrabajo.class);
        conexion.closeConexion();
        return lineas;
    }
    
}
